home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / G-Games / (c)gd.d64 / music menu v2.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  7KB  |  116 lines

  1. 0 POKE55,56:POKE56,74:POKE51,56:POKE52,74:DT=FRE(0):CLR:DIMPR$(145):DIMPL$(50):DIMPN$(50):GOSUB428:PRINTCHR$(14):IFF=0THENPRINTCHR$(147)
  2. 12 GOSUB90:IFF=1THENSYS30120:GOTO15
  3. 14 PRINT"[147]";
  4. 15 POKE53280,0:POKE53281,0:IFF=1GOTO33
  5. 18 FORS=55296TO55335:POKES,0:POKES+960,0:NEXT:FORS=1024TO1063:POKES,244:POKES+960,244:NEXT:PRINT"[144]";:A$=" [212]HE [205]AGIC [205]USIC [205]ACHINE 2.[195] ":GOSUB96:PRINT"[144]";:PRINT"";:A$=" BY [196]AVE [211]CHMOLDT 72356,2574 "
  6. 32 GOSUB96
  7. 33 PRINT"":FORZ=1TO5:IFF=0THENGOSUB284
  8. 36 Q=0:FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+999-Q,CO:Q=Q+2:NEXT:NEXTZ:PRINT"";:IFF=0THENGOSUB102
  9. 46 PRINT"[146]";:F=1:IFRIGHT$(PL$(N),2)=".C"THENPT$=LEFT$(PL$(N),LEN(PL$(N))-2):GOTO50
  10. 49 PT$=PL$(N)
  11. 50 PRINT"";:A$="                                       ":GOSUB96:PRINT"";:A$="                                       ":GOSUB96:PRINT"[145]";:PRINT"";:A$="[158][206]OW [208]LAYING--> "+PT$
  12. 59 GOSUB96:A$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]":PRINT"";:CO=149:D$="":U$="[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]"
  13. 65 FORC=1TO11:FORDE=1TO75:NEXT:CO=INT(1+RND(1)*14):POKE646,CO:PRINTLEFT$(D$,C+1);:PRINTA$;:PRINT"";:PRINTLEFT$(U$,C);:PRINTA$;:GETRE$:IFRE$=" "THENPOKE31044,4:R=0:FORL=54276TO54296:POKEL,0:NEXT
  14. 77 IFRE$=" "GOTO201
  15. 78 IFRE$="1"THENPOKE31044,1
  16. 79 IFRE$="2"THENPOKE31044,2
  17. 80 IFRE$="3"THENPOKE31044,3
  18. 81 IFRE$="_"THENPOKE31044,0
  19. 82 IFRE$="^"THENFORL=54276TO54296:POKEL,0:NEXT:POKE31044,4:FY=1:N=A:GOTO201
  20. 83 NEXTC:PRINT"";:IFPEEK(789)<>234GOTO65
  21. 86 FORL=54276TO54296:POKEL,0:NEXT:GOTO201
  22. 90 PRINT"";:FORJK=1TO23:PRINT"                                        ";:NEXT:PRINT"":RETURN
  23. 96 PRINTSPC(20-LEN(A$)/2);:PRINTA$;:RETURN
  24. 99 GETKE$:IFKE$=""GOTO99
  25. 101 RETURN
  26. 102 GOSUB90:PRINT"[146]";:A$="[156][208]RESS ANY KEY WHEN READY":POKE646,4:GOSUB96:GOSUB99:GOSUB90:Q=0:FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+999-Q,CO:Q=Q+2:NEXT:DS=FRE(0):PRINT"[158]":A$="[210]EADING [196]IRECTORY":GOSUB96:PRINT
  27. 121 X=1:OPEN15,8,15,"I":CLOSE15:A$="":OPEN8,8,0,"$0":FORC=1TO8:GET#8,A$:NEXT:C=1:DN$="":FORC=1TO16:GET#8,A$:DN$=DN$+A$:NEXT:GET#8,A$:GET#8,A$:GET#8,A$:DN$=DN$+A$:GET#8,A$:DN$=DN$+A$:GET#8,A$:GET#8,A$:DN$=DN$+"/"+A$
  28. 144 GET#8,A$:DN$=DN$+A$:GET#8,A$:C=1:PRINT"[196]ISK [212]ITLE ---> [156]";:PRINTDN$:PRINT
  29. 151 FORH=1TO4:GET#8,A$:NEXT
  30. 154 GET#8,A$:IF(ST)<>0GOTO174
  31. 156 IFA$=""GOTO174
  32. 157 IFASC(A$)<>34GOTO154
  33. 158 GET#8,A$:IFASC(A$)<>34THENPN$=PN$+A$:GOTO158
  34. 160 GET#8,A$:IFASC(A$)=32GOTO160
  35. 162 GET#8,A$:IFA$<>""GOTO162
  36. 164 PR$(X)=PN$:PRINT"";:PRINT"                                      ";:A$="    "+PN$:PRINT"[145]";:GOSUB96:PN$="":X=X+1:IF(ST)=0GOTO151
  37. 173 CLOSE8
  38. 174 CLOSE8:GOSUB90:PRINT"";:A$="[195]HECKING FOR [205]ASTER [195]OMPOSER FILES":GOSUB96:A=1:PRINT:FORM=1TOX-1:OPEN8,8,8,PR$(M)+",M,R":IF(ST)<>0GOTO197
  39. 184 GET#8,L1$:IFL1$=""GOTO197
  40. 186 IFASC(L1$)<>13GOTO197
  41. 187 GET#8,L2$:IFL2$=""GOTO197
  42. 189 IFASC(L2$)<>117GOTO197
  43. 190 PL$(A)=PR$(M):PRINT"";:PRINT"                                        ":A$=PL$(A):PRINT"[145][145]";:GOSUB96:A=A+1
  44. 197 CLOSE8:L1$="":L2$="":NEXTM
  45. 201 GOSUB90:PRINT"";:IFSK=1GOTO404
  46. 204 IFFY=1GOTO401
  47. 205 IFFG=1GOTO399
  48. 206 IFFR=1THENGOSUB377:GOTO284
  49. 207 GOSUB90:V=1:IFA>32THENA=32
  50. 210 Q=0:FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+999-Q,CO:Q=Q+2:NEXT:FORCA=1TOA-1:OV$="":DO$="":RO$="[146]":IFCA>16THENPRINTLEFT$(OV$,CA+5);:GOTO223
  51. 222 PRINTLEFT$(DO$,CA+2);
  52. 223 IFRIGHT$(PL$(CA),2)=".C"GOTO229
  53. 224 PRINT"";:PRINTCHR$(CA+64);:PRINTRO$+" ";:PRINTPL$(CA):GOTO235
  54. 229 LE=LEN(PL$(CA))-2:PRINT"";:PRINTCHR$(CA+64);:PRINTRO$+" ";:PRINTLEFT$(PL$(CA),LE):RO$="[146]"
  55. 235 NEXT:PRINT"";:A$="[158][197]NTER YOUR CHOICES IN ANY ORDER":GOSUB96:PRINT"";:A$="   [210][197][212][213][210][206][158] FOR MENU   [211][208][193][195][197][158] WHEN DONE":GOSUB96:PRINT"[156]";
  56. 243 GETAN$:IFAN$=""GOTO243
  57. 245 IFAN$=CHR$(13)THENGOSUB90:GOSUB284
  58. 246 IFAN$=" "ANDV=1THENGOSUB90:GOTO284
  59. 247 IFAN$=" "THENFORT=1TOV:PL$(T)=PN$(T):NEXT:A=V-1:FY=1:GOTO393
  60. 248 IFASC(AN$)<65GOTO243
  61. 249 N=ASC(AN$)-64:PN$(V)=PL$(N):IFN>CA-1GOTO243
  62. 252 IFN<1GOTO243
  63. 253 IFN>16THENFORI=55357TO55373:POKEI+(N-16)*40,1:NEXT:V=V+1:GOTO258
  64. 254 FORI=55338TO55354:POKEI+N*40,1:NEXT:V=V+1
  65. 258 GOTO243
  66. 259 PRINT"[158]";:A$="[[211][208][193][195][197]] WILL STOP SONG DURING PLAY":GOSUB96:PRINT"";:A$="1 = VOICE 1 ONLY":GOSUB96:PRINT"";:A$="2 = VOICE 2 ONLY":GOSUB96:PRINT"";
  67. 269 A$="3 = VOICE 3 ONLY":GOSUB96:PRINT"";:A$="_ = ALL 3 VOICES":GOSUB96:PRINT"";:A$="^ = BACK TO MENU":GOSUB96:PRINT"[156]";:A$="[204]OADING "+PT$:GOSUB96:POKE20000,1
  68. 281 POKE20200,N:GOSUB407:LOADPL$(N),8,1
  69. 284 PRINT"[158]";:CLOSE15:FORS=55296TO55335:POKES,0:POKES+960,0:NEXT:POKE20000,0:POKE20300,0:POKE20310,0:POKE20320,0:POKE20330,0:SK=0:FY=0:FG=0:FR=0:DS=FRE(0):PRINT"      [221]    [197]NTER [217]OUR [195]HOICE    [158][146][221]"
  70. 301 PRINT"      [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]":PRINT"      [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]";:PRINT"      [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]":PRINT"      [221] [212]HE [205]AGIC [205]USIC [205]ACHINE [146][158][221]      "
  71. 305 PRINT"      [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]":PRINT"                                        ";:PRINT"  1. [195]REATE OR UPDATE A DIRECTORY FILE  ";:PRINT"                                        ";
  72. 309 PRINT"  2. [195]HOOSE SONGS FROM DIRECTORY FILE   ";:PRINT"                                        ";:PRINT"  3. [195]HOOSE SONGS (NO DIRECTORY FILE)   ";:PRINT"                                        ";
  73. 313 PRINT"  4. [208]LAY ALL SONGS IN DIRECTORY FILE   ";:PRINT"                                        ";:PRINT"  5. [208]LAY ALL SONGS ON DISK (NO FILE)   ";:PRINT"                                        ";
  74. 317 PRINT"  6. [211]END DIRECTORY FILE TO PRINTER     ";:PRINT"                                        ";:PRINT"  7. [197]ND                                ";:PRINT"                                        ";
  75. 321 T1$="OOOOOOOOOOOOOOOOOOOO":T2$="OOOOOOOOOOOOOOOOOOOO":R1$="[157]O[157]O[157]O[157]O[157]O[157]O[157]O[157]O":R2$="[157]O[157]O[157]O[157]O[157]O[157]O[157]O"
  76. 325 B1$="OOOOOOOOOOOOOOOOOOOO":B2$="OOOOOOOOOOOOOOOOOOOO":L1$="[145][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O":L2$="[145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O":B1$=""+T1$+R1$+B1$+L1$
  77. 330 B2$=""+T2$+R2$+B2$+L2$:H=2
  78. 332 PRINTB1$:PRINTB2$:POKE646,H:H=H+1:IFH=16THENH=2
  79. 337 GETA$:IFA$=""GOTO332
  80. 339 POKE646,14:IFA$="1"THENFR=1:GOTO102
  81. 341 IFA$="2"GOTO348
  82. 342 IFA$="3"GOTO102
  83. 343 IFA$="4"THENSK=1:GOTO348
  84. 344 IFA$="5"THENFG=1:DS=FRE(0):GOTO102
  85. 345 IFA$="6"THENFP=1:DS=FRE(0):GOTO348
  86. 346 IFA$="7"THENGOSUB90:PRINT"[147][158]":POKE20000,0:END
  87. 347 GOTO321
  88. 348 GOSUB90:A$="[210]EADING DIRECTORY FILE.....":PRINT"":GOSUB96:CLOSE8:OPEN15,8,15,"I0:":OPEN8,8,8,"MMMCAT,S,R":INPUT#15,Y,B$,C,D:CLOSE15:IFY=62GOTO362
  89. 358 IFFP=1THENCLOSE4:OPEN4,4,7
  90. 359 CLOSE8:OPEN8,8,8,"MMMCAT,S,R":PRINT""
  91. 362 IFY=62THENPRINT"":A$="[217]OU MUST CREATE A FILE FIRST":GOSUB96:CLOSE8
  92. 363 IFY=62THENFORDE=1TO2000:NEXTDE:GOSUB90:CLOSE15:GOTO284
  93. 364 INPUT#8,DN$:IFFP=1THENPRINT#4," ":PRINT#4,DN$:PRINT#4," "
  94. 366 INPUT#8,A:FORWE=1TOA:INPUT#8,PL$(WE):IFFP=1THENPRINT#4,PL$(WE)
  95. 370 NEXT:IFFP=1THENFP=0:PRINT#4," ":PRINT#4," ":CLOSE4:CLOSE8:GOSUB90:GOTO284
  96. 372 IFSK=1THENCLOSE8:CLOSE15:GOTO393
  97. 373 CLOSE8:CLOSE15:A=A+1:GOTO207
  98. 377 A$="[215]RITING [196]IRECTORY [198]ILE":GOSUB96:CLOSE8:OPEN15,8,15,"S0:MMMCAT":CLOSE15:DS=FRE(0):OPEN8,8,8,"MMMCAT,S,W":PRINT#8,DN$:PRINT#8,A-1:FORQW=1TOA-1:PRINT#8,PL$(QW):NEXTQW:CLOSE8:R=0:GOSUB90:RETURN
  99. 393 GOSUB90:F=1:N=1
  100. 396 PT$=PL$(N):F=1:GOTO259
  101. 399 IFFG=1THENN=N+1:IFN>A-1GOTO284
  102. 400 IFFG=1GOTO406
  103. 401 IFFY=1THENN=N+1
  104. 402 IFN>AGOTO284
  105. 403 GOTO406
  106. 404 N=N+1:IFN>AGOTO284
  107. 406 GOTO396
  108. 407 BA=21000:POKE20100,A:POKE20200,N:POKE20000,1:POKE20300,SK:POKE20310,FY:POKE20320,FG:POKE20330,FR:IFFG=1THENA=A-1:POKE20100,A
  109. 416 FORQ1=1TOA:LE=LEN(PL$(Q1)):FORA1=1TOLE:PV=ASC(MID$(PL$(Q1),A1,1)):POKEBA,PV:BA=BA+1:NEXTA1:POKEBA,94:BA=BA+1:NEXTQ1:POKEBA,95:RETURN
  110. 428 F=PEEK(20000):IFF<>1THENF=0:RETURN
  111. 430 A=PEEK(20100):N=PEEK(20200):BA=21000:SK=PEEK(20300):FY=PEEK(20310):FG=PEEK(20320):FR=PEEK(20330):Q1=1
  112. 438 IFQ1>ATHENRETURN
  113. 439 NT$="":NT$=CHR$(PEEK(BA)):IFPEEK(BA)=94THENNT$="":Q1=Q1+1:BA=BA+1:GOTO438
  114. 442 PL$(Q1)=PL$(Q1)+NT$:BA=BA+1:GOTO439
  115. 445 END
  116.